1. Field of the Invention
The present invention generally relates to graphics technology for generating vertex and primitive information in a graphics system. More particularly, the present invention is directed towards generating vertex and primitive information in a graphics system when per-vertex state changes exist.
2. Description of the Related Art
Current graphics processors use a vertex cache to store recently used vertices that define primitives to be rendered. Since a single vertex is oftentimes reused to define more than one primitive the cache is an efficient storage mechanism. The vertex cache is typically a round-robin streaming cache that does not accommodate changes in vertex processing state. Since conventional vertex processing programs do not change the vertex processing state on a per-vertex level, i.e., within a primitive, a round-robin streaming cache is an effective storage mechanism with the oldest vertex being overwritten by the newest vertex.
More recently, the OpenGL graphics API allows per-vertex state changes. Conventional vertex caches are not configured to support per-vertex state changes. Accordingly, what is needed in the art is a system and method for providing the efficient storage benefits of vertex caching while allowing per-vertex state changes.